---
title: Remix
description: 适用于 Remix 的 Ultracite lint 规则（也兼容 TanStack Router 和 React Router）。
---

此 Remix 配置针对路由文件的文件命名约定提供了特定处理。该配置也兼容 TanStack Router、React Router 以及其他基于文件的路由系统。

## 安装

将 Remix 配置添加到您的 `biome.jsonc`：

```jsonc title="biome.jsonc"
{
  "extends": ["ultracite/core", "ultracite/remix"]
}
```

## 概览

此配置为使用基于文件系统路由约定的路由文件提供特殊处理：

- **路由文件命名**: 为路由文件禁用严格的文件名约定
- **灵活的模式**: 支持 Remix 的路由命名模式（点、美元、下划线）
- **与框架无关**: 适用于 Remix、TanStack Router、React Router 及类似系统

## 文件模式覆盖

该配置对以下模式的路由文件应用覆盖：

- `**/routes/**/*.{tsx,ts}` - Remix v1 routes
- `**/app/routes/**/*.{tsx,ts}` - Remix v2 routes

### 针对路由文件禁用的规则

| 规则 | 设置 | 描述 |
|------|---------|-------------|
| `useFilenamingConvention` | `off` | 禁用对路由文件的 kebab-case 文件名强制执行。允许特殊的路由命名模式。 |

## 存在此配置的原因

基于文件的路由系统在文件名中使用特殊字符来表示路由模式：

- `.`（点）— 表示路径段（例如，`posts.new.tsx` → `/posts/new`）
- `$`（美元符号）— 表示动态段（例如，`posts.$id.tsx` → `/posts/:id`）
- `_`（下划线）— 表示布局路由或无路径路由

这些命名约定与 Ultracite 默认的 kebab-case 文件名要求冲突，因此该配置专门针对路由文件禁用该规则。